<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gnome-vfs-standard-callbacks</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="GnomeVFS - Filesystem Abstraction library">
<link rel="up" href="modules.html" title="Filesystem Modules">
<link rel="prev" href="gnome-vfs-2.0-gnome-vfs-parse-ls.html" title="gnome-vfs-parse-ls">
<link rel="next" href="gnome-vfs-2.0-gnome-vfs-module-callback.html" title="gnome-vfs-module-callback">
<meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gnome-vfs-2.0-gnome-vfs-parse-ls.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="modules.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GnomeVFS - Filesystem Abstraction library</th>
<td><a accesskey="n" href="gnome-vfs-2.0-gnome-vfs-module-callback.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gnome-vfs-2.0-gnome-vfs-standard-callbacks.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gnome-vfs-2.0-gnome-vfs-standard-callbacks.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gnome-vfs-2.0-gnome-vfs-standard-callbacks"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gnome-vfs-2.0-gnome-vfs-standard-callbacks.top_of_page"></a>gnome-vfs-standard-callbacks</span></h2>
<p>gnome-vfs-standard-callbacks — standard callbacks for use by gnome-vfs module writers</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gnome-vfs-2.0-gnome-vfs-standard-callbacks.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationIn" title="GnomeVFSModuleCallbackFillAuthenticationIn">GnomeVFSModuleCallbackFillAuthenticationIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationOut" title="GnomeVFSModuleCallbackFillAuthenticationOut">GnomeVFSModuleCallbackFillAuthenticationOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</a>
enum                <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags">GnomeVFSModuleCallbackFullAuthenticationFlags</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn">GnomeVFSModuleCallbackFullAuthenticationIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut">GnomeVFSModuleCallbackFullAuthenticationOut</a>;
enum                <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOutFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationOutFlags">GnomeVFSModuleCallbackFullAuthenticationOutFlags</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackSaveAuthenticationIn" title="GnomeVFSModuleCallbackSaveAuthenticationIn">GnomeVFSModuleCallbackSaveAuthenticationIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackSaveAuthenticationOut" title="GnomeVFSModuleCallbackSaveAuthenticationOut">GnomeVFSModuleCallbackSaveAuthenticationOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-QUESTION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_QUESTION">GNOME_VFS_MODULE_CALLBACK_QUESTION</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionIn" title="GnomeVFSModuleCallbackQuestionIn">GnomeVFSModuleCallbackQuestionIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionOut" title="GnomeVFSModuleCallbackQuestionOut">GnomeVFSModuleCallbackQuestionOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS" title="GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE">GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageIn" title="GnomeVFSModuleCallbackStatusMessageIn">GnomeVFSModuleCallbackStatusMessageIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageOut" title="GnomeVFSModuleCallbackStatusMessageOut">GnomeVFSModuleCallbackStatusMessageOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS">GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersIn" title="GnomeVFSModuleCallbackAdditionalHeadersIn">GnomeVFSModuleCallbackAdditionalHeadersIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersOut" title="GnomeVFSModuleCallbackAdditionalHeadersOut">GnomeVFSModuleCallbackAdditionalHeadersOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS">GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</a>
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersIn" title="GnomeVFSModuleCallbackReceivedHeadersIn">GnomeVFSModuleCallbackReceivedHeadersIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersOut" title="GnomeVFSModuleCallbackReceivedHeadersOut">GnomeVFSModuleCallbackReceivedHeadersOut</a>;
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION">GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</a>
#define             <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION">GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</a>
enum                <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationAuthType" title="enum GnomeVFSModuleCallbackAuthenticationAuthType">GnomeVFSModuleCallbackAuthenticationAuthType</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationIn" title="GnomeVFSModuleCallbackAuthenticationIn">GnomeVFSModuleCallbackAuthenticationIn</a>;
                    <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationOut" title="GnomeVFSModuleCallbackAuthenticationOut">GnomeVFSModuleCallbackAuthenticationOut</a>;
</pre>
</div>
<div class="refsect1">
<a name="gnome-vfs-2.0-gnome-vfs-standard-callbacks.description"></a><h2>Description</h2>
<p>
</p>
</div>
<div class="refsect1">
<a name="gnome-vfs-2.0-gnome-vfs-standard-callbacks.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION "fill-authentication"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
ask the keyring manager for login data. It is expected to return stored or cached
login data, but may not query the user.
</p>
<p>
The login data consists of a username, a password and a domain, and is used to
access a resource. If the data is not suitable for accessing the resource, the
<span class="type">GnomeVFSModule</span> typically issues a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>
module callback to query the user right after the authentication failed.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationIn" title="GnomeVFSModuleCallbackFillAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFillAuthenticationIn</span></a> * passed to the application,
specifying the authentication request. The application will usually proxy this
request to the keyring manager of the desktop environment, but it can also handle
the request itself.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationOut" title="GnomeVFSModuleCallbackFillAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFillAuthenticationOut</span></a> * passing the cached
keyring data (i.e. username/password etc.) back to the module. Usually,
this is data that was stored using <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a>,
and is either stored permanently on disk or cached.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFillAuthenticationIn"></a><h3>GnomeVFSModuleCallbackFillAuthenticationIn</h3>
<pre class="programlisting">typedef struct {
	char *uri;
	char *protocol;
	char *server;
	char *object;
	int port;
	char *authtype;
	char *username;
	char *domain;
} GnomeVFSModuleCallbackFillAuthenticationIn;
</pre>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationIn" title="GnomeVFSModuleCallbackFillAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFillAuthenticationIn</span></a> structure is passed to the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a> callback, and informs the application
about the authentication parameters that should be requested from the user.
</p>
<p>
The <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a> application callback will then set
the members of a pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationOut" title="GnomeVFSModuleCallbackFillAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFillAuthenticationOut</span></a> structure
according to the stored or cached data.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.uri"></a>uri</code></em>;</span></p></td>
<td>The textual URI of the resource that requires authentication.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.protocol"></a>protocol</code></em>;</span></p></td>
<td>One of the protocols supported by the invoking module.
Typically matches <em class="parameter"><code>uri</code></em>'s protocol.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.server"></a>server</code></em>;</span></p></td>
<td>The server that contains the resource that requires authentication.
Typically matches <em class="parameter"><code>uri</code></em>'s hostname.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.object"></a>object</code></em>;</span></p></td>
<td>The type of the resource that requires authentication.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.port"></a>port</code></em>;</span></p></td>
<td>The port that was used to connect to <em class="parameter"><code>server</code></em>. 0 means unset.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.authtype"></a>authtype</code></em>;</span></p></td>
<td>The type of authentication that was requested. For the
HTTP method, this may be "basic" or "proxy". For the SFTP method,
this may be "publickey" or "password".
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.username"></a>username</code></em>;</span></p></td>
<td>The username that was used to connect to <em class="parameter"><code>server</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationIn.domain"></a>domain</code></em>;</span></p></td>
<td>The domain that <em class="parameter"><code>server</code></em> belongs to (only used by the SMB method).
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFillAuthenticationOut"></a><h3>GnomeVFSModuleCallbackFillAuthenticationOut</h3>
<pre class="programlisting">typedef struct {
	gboolean valid;
	char *username;
	char *domain;
	char *password;
} GnomeVFSModuleCallbackFillAuthenticationOut;
</pre>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationOut" title="GnomeVFSModuleCallbackFillAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFillAuthenticationOut</span></a> structure is passed to the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a> callback, and informs the module
about the authentication parameters that were found in the cache or permanently stored.
</p>
<p>
The login data returned by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a> was usually
previously stored using #<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationOut.valid"></a>valid</code></em>;</span></p></td>
<td>Whether stored or cached login data was found for the resource referenced by
the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFillAuthenticationIn" title="GnomeVFSModuleCallbackFillAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFillAuthenticationIn</span></a> structure.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationOut.username"></a>username</code></em>;</span></p></td>
<td>The cached username that should be used to access the resource.
This will be freed by the module when it isn't needed any longer. May only
be set if <em class="parameter"><code>valid</code></em> is <code class="literal">TRUE</code>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationOut.domain"></a>domain</code></em>;</span></p></td>
<td>The cached domain that should be used to access the resource.
This will be freed by the module when it isn't needed any longer. May only
be set if <em class="parameter"><code>valid</code></em> is <code class="literal">TRUE</code>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFillAuthenticationOut.password"></a>password</code></em>;</span></p></td>
<td>The cached password that should be used to access the resource.
This will be freed by the module when it isn't needed any longer. May only
be set if <em class="parameter"><code>valid</code></em> is <code class="literal">TRUE</code>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION "full-authentication"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
ask the user for login data. This includes username and password, but also
special login choices like anonymous login.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a> * passed to the application,
specifying the authentication request.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> * passing the user's
provided authentication data (i.e. his username/password etc.) back to the module.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFullAuthenticationFlags"></a><h3>enum GnomeVFSModuleCallbackFullAuthenticationFlags</h3>
<pre class="programlisting">typedef enum {
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_PREVIOUS_ATTEMPT_FAILED = 1&lt;&lt;0,
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_PASSWORD = 1&lt;&lt;1,
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_USERNAME = 1&lt;&lt;2,
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_DOMAIN = 1&lt;&lt;3,
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_SAVING_SUPPORTED = 1&lt;&lt;4,
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_ANON_SUPPORTED = 1&lt;&lt;5
} GnomeVFSModuleCallbackFullAuthenticationFlags;
</pre>
<p>
These flags will be passed to the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback,
as part of the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a> structure. The output data
will be stored in a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> structure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-PREVIOUS-ATTEMPT-FAILED:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_PREVIOUS_ATTEMPT_FAILED</code></span></p></td>
<td>This is not the first login attempt,
i.e. this callback was already invoked but the provided login data was not suitable for a successful login.
</td>
</tr>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-NEED-PASSWORD:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_PASSWORD</code></span></p></td>
<td>The application should ask the user for
a password and set the <em class="parameter"><code>password</code></em> field of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>.
</td>
</tr>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-NEED-USERNAME:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_USERNAME</code></span></p></td>
<td>The application should ask the user for
a username and set the <em class="parameter"><code>username</code></em> field of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>.
</td>
</tr>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-NEED-DOMAIN:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_DOMAIN</code></span></p></td>
<td>The application should ask the user for
a domain and set the <em class="parameter"><code>domain</code></em> field of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>.
</td>
</tr>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-SAVING-SUPPORTED:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_SAVING_SUPPORTED</code></span></p></td>
<td>The application may ask the user
whether he wants to save the password. If this flag is not present, or the user does not want to
save the password, the application must set the <em class="parameter"><code>save_password</code></em> field of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>
to <code class="literal">FALSE</code> and its keyring field to <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>. If the <em class="parameter"><code>save_password</code></em> field is <code class="literal">TRUE</code>, the module invoking
the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback is expected to invoke the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a> callback if the login attempt was successful with
the <em class="parameter"><code>username</code></em>, <em class="parameter"><code>password</code></em>, <em class="parameter"><code>domain</code></em> and <em class="parameter"><code>keyring</code></em> fields of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>.
</td>
</tr>
<tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-ANON-SUPPORTED:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_ANON_SUPPORTED</code></span></p></td>
<td>The application
should offer the user a choice to login anonymously (used for example by the FTP module).
If the user requests anonymous login, <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-OUT-ANON-SELECTED:CAPS"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_OUT_ANON_SELECTED</span></a>
must be set in the <em class="parameter"><code>out_flags</code></em> field of <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFullAuthenticationIn"></a><h3>GnomeVFSModuleCallbackFullAuthenticationIn</h3>
<pre class="programlisting">typedef struct {
	GnomeVFSModuleCallbackFullAuthenticationFlags flags;

	char *uri;
	char *protocol;
	char *server;
	char *object;
	int port;
	char *authtype;
	char *username;
	char *domain;

	/* for pre-filling the dialog */
	char *default_user;     
	char *default_domain;
} GnomeVFSModuleCallbackFullAuthenticationIn;
</pre>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a> structure is passed to the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback, and informs the application
about the authentication parameters that should be requested from the user.
</p>
<p>
The <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> application callback will then set
the members of a pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> structure
according to the user input.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.flags"></a>flags</code></em>;</span></p></td>
<td>
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> influencing the user query.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.uri"></a>uri</code></em>;</span></p></td>
<td>The textual URI of the resource that requires authentication.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.protocol"></a>protocol</code></em>;</span></p></td>
<td>One of the protocols supported by the invoking module. Typically matches <em class="parameter"><code>uri</code></em>'s protocol.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.server"></a>server</code></em>;</span></p></td>
<td>The server that contains the resource that requires authentication. Typically matches <em class="parameter"><code>uri</code></em>'s hostname.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.object"></a>object</code></em>;</span></p></td>
<td>The type of the resource that requires authentication.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.port"></a>port</code></em>;</span></p></td>
<td>The port that was used to connect to <em class="parameter"><code>server</code></em>. 0 means unset.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.authtype"></a>authtype</code></em>;</span></p></td>
<td>The type of authentication that was requested. For the
HTTP method, this may be "basic" or "proxy". For the SFTP method,
this may be "publickey" or "password".
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.username"></a>username</code></em>;</span></p></td>
<td>The username that was used to connect to <em class="parameter"><code>server</code></em>. This variable
should just be used for display purposes, i.e. like <span class="quote">“<span class="quote">You were trying
to access foo<em class="parameter"><code>bar.com</code></em></span>”</span> where foo is the <em class="parameter"><code>username</code></em> and bar.com is the
<em class="parameter"><code>server</code></em>. Do not make the contents of the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a>
output variables depend on the value of this variable. If you want to handle
absence of user input, pass back <em class="parameter"><code>default_user</code></em> instead.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.domain"></a>domain</code></em>;</span></p></td>
<td>The domain that <em class="parameter"><code>server</code></em> belongs to (only used by the SMB method).
This variable should just be used for display purposes where foo is the <em class="parameter"><code>username</code></em>
and bar.com is the <em class="parameter"><code>server</code></em>. Do not make the contents of the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> output variables depend on the value
of this variable. If you want to handle absence of user input, pass back
<em class="parameter"><code>default_domain</code></em> instead.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.default-user"></a>default_user</code></em>;</span></p></td>
<td>The username that should be provided to the user by default.
Typically matches <em class="parameter"><code>username</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationIn.default-domain"></a>default_domain</code></em>;</span></p></td>
<td>The domain that should be provided to the user by default.
Typically matches <em class="parameter"><code>domain</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFullAuthenticationOut"></a><h3>GnomeVFSModuleCallbackFullAuthenticationOut</h3>
<pre class="programlisting">typedef struct {
	gboolean abort_auth;

	char *username;
	char *domain;
	char *password;

	gboolean save_password;
	char *keyring;

	gsize out_flags;
} GnomeVFSModuleCallbackFullAuthenticationOut;
</pre>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> structure is passed to the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback, and informs the module
about the authentication parameters that the user provided by setting the respective
fields according to the user input and the passed-in <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>
pointer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.abort-auth"></a>abort_auth</code></em>;</span></p></td>
<td>Whether the user somehow cancelled the login process. The application
is expected to offer the user a cancellation point during the authentication query.
In a graphical user interface, this is typically achieved by providing a "Cancel"
button.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.username"></a>username</code></em>;</span></p></td>
<td>The user-provided username that should be used to access the resource
referenced by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>. This will be freed by
the module when it isn't needed any longer. Must not be set if the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> don't contain
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-NEED-USERNAME:CAPS"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_USERNAME</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.domain"></a>domain</code></em>;</span></p></td>
<td>The user-provided domain that should be used to access the resource
referenced by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>. This will be freed by
the module when it isn't needed any longer. Must not be set if the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> don't contain
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-NEED-DOMAIN:CAPS"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_DOMAIN</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.password"></a>password</code></em>;</span></p></td>
<td>The user-provided password that should be used to access the resource
referenced by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>. This will be freed by
the module when it isn't needed any longer. Must not be set if the
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> don't contain
<span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_NEED_PASSOWRD</span>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.save-password"></a>save_password</code></em>;</span></p></td>
<td>Flags whether the user requested to save the provided login
data. Must be <code class="literal">FALSE</code> if the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a>
don't contain <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-SAVING-SUPPORTED:CAPS"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_SAVING_SUPPORTED</span></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.keyring"></a>keyring</code></em>;</span></p></td>
<td>Flags which keyring should be used to save the password. This will
later be passed to the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a> callback
if the login attempt was successful with the specified <em class="parameter"><code>username</code></em>, <em class="parameter"><code>password</code></em> and
<em class="parameter"><code>domain</code></em>. This will NOT be freed by the module, so the application typically
provides a <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> pointer or a pointer to a static string.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackFullAuthenticationOut.out-flags"></a>out_flags</code></em>;</span></p></td>
<td>
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOutFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationOutFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOutFlags</span></a> signalling a special request, for instance
anonymous access to an FTP server.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackFullAuthenticationOutFlags"></a><h3>enum GnomeVFSModuleCallbackFullAuthenticationOutFlags</h3>
<pre class="programlisting">typedef enum {
	GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_OUT_ANON_SELECTED = 1&lt;&lt;0
} GnomeVFSModuleCallbackFullAuthenticationOutFlags;
</pre>
<p>
These flags will be passed from a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback
back to the module, as part of the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> structure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><a name="GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-OUT-ANON-SELECTED:CAPS"></a><span class="term"><code class="literal">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_OUT_ANON_SELECTED</code></span></p></td>
<td>Anonymous login requested.
May only be set if the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>'s
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationFlags" title="enum GnomeVFSModuleCallbackFullAuthenticationFlags"><span class="type">GnomeVFSModuleCallbackFullAuthenticationFlags</span></a> contain
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION-ANON-SUPPORTED:CAPS"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION_ANON_SUPPORTED</span></a>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION "save-authentication"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
request permanent or temporary storage of login data. The storage is typically
done using a keyring manager.
</p>
<p>
Called after a successfull authentication, to allow the client to e.g.
store the password for future use. It may be queried again within the
current session (temporary storage) or in future sessions (permanent
storage) using <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>.
</p>
<p>
This is typically called after the user provided login data with
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackSaveAuthenticationIn" title="GnomeVFSModuleCallbackSaveAuthenticationIn"><span class="type">GnomeVFSModuleCallbackSaveAuthenticationIn</span></a> * specifying the login data.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackSaveAuthenticationOut" title="GnomeVFSModuleCallbackSaveAuthenticationOut"><span class="type">GnomeVFSModuleCallbackSaveAuthenticationOut</span></a> * (unused).
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackSaveAuthenticationIn"></a><h3>GnomeVFSModuleCallbackSaveAuthenticationIn</h3>
<pre class="programlisting">typedef struct {
	char *keyring;
	
	char *uri;
	char *protocol;
	char *server;
	char *object;
	int port;
	char *authtype;
	char *username;
	char *domain;
	char *password;
} GnomeVFSModuleCallbackSaveAuthenticationIn;
</pre>
<p>
A <span class="type">GnomeVFSModuleCallbackSaveAuthenticatioIn</span> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a> application callback,
and specifies the login data that should be stored permanently on
disk or temporarily cached.
</p>
<p>
This data may be queried in future sessions (permanent storage) or within
the current session (temporary storage) using
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.keyring"></a>keyring</code></em>;</span></p></td>
<td>Keyring provided by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a> callback.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.uri"></a>uri</code></em>;</span></p></td>
<td>The textual URI of the resource that is accessed.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.protocol"></a>protocol</code></em>;</span></p></td>
<td>One of the protocols supported by the invoking module.
Typically matches <em class="parameter"><code>uri</code></em>'s protocol.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.server"></a>server</code></em>;</span></p></td>
<td>The server that contains the resource that is accessed.
Typically matches <em class="parameter"><code>uri</code></em>'s hostname.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.object"></a>object</code></em>;</span></p></td>
<td>The type of the resource that is accessed.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.port"></a>port</code></em>;</span></p></td>
<td>The port that was used to connect to <em class="parameter"><code>server</code></em>. 0 means unset.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.authtype"></a>authtype</code></em>;</span></p></td>
<td>The type of authentication that was requested. For the
HTTP method, this may be "basic" or "proxy". For the SFTP method,
this may be "publickey" or "password".
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.username"></a>username</code></em>;</span></p></td>
<td>The username that was used to connect to <em class="parameter"><code>server</code></em>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.domain"></a>domain</code></em>;</span></p></td>
<td>The domain that <em class="parameter"><code>server</code></em> belongs to (only used by the SMB method).
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackSaveAuthenticationIn.password"></a>password</code></em>;</span></p></td>
<td>The password that was used to connect to <em class="parameter"><code>server</code></em>.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackSaveAuthenticationOut"></a><h3>GnomeVFSModuleCallbackSaveAuthenticationOut</h3>
<pre class="programlisting">typedef struct {
} GnomeVFSModuleCallbackSaveAuthenticationOut;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackSaveAuthenticationOut" title="GnomeVFSModuleCallbackSaveAuthenticationOut"><span class="type">GnomeVFSModuleCallbackSaveAuthenticationOut</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-SAVE-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_SAVE_AUTHENTICATION</span></a> application callback,
and is reserved for future use. Applications are not expected
to modify this data, because its interpretation might change
in the future.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-QUESTION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_QUESTION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_QUESTION "ask-question"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
ask the user a question.
</p>
<p>
Called when access to a URI requires the user to make a choice.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a> * passed to the application,
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
specifying the proxy authentication request.
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationOut" title="GnomeVFSModuleCallbackFullAuthenticationOut"><span class="type">GnomeVFSModuleCallbackFullAuthenticationOut</span></a> * passing the user's
provided proxy authentication data (i.e. his username/password) back to the module.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackQuestionIn"></a><h3>GnomeVFSModuleCallbackQuestionIn</h3>
<pre class="programlisting">typedef struct {
	char *primary_message;
	char *secondary_message;
	char **choices;
} GnomeVFSModuleCallbackQuestionIn;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionIn" title="GnomeVFSModuleCallbackQuestionIn"><span class="type">GnomeVFSModuleCallbackQuestionIn</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-QUESTION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_QUESTION"><span class="type">GNOME_VFS_MODULE_CALLBACK_QUESTION</span></a> application callback.
Applications are expected to request a decision from the
user, and store the answer in a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionOut" title="GnomeVFSModuleCallbackQuestionOut"><span class="type">GnomeVFSModuleCallbackQuestionOut</span></a>
structure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackQuestionIn.primary-message"></a>primary_message</code></em>;</span></p></td>
<td>A short message explaining the question to the user,
or <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if there is no message.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackQuestionIn.secondary-message"></a>secondary_message</code></em>;</span></p></td>
<td>The long version of the message, containing more
details, or <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> if there is no message.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> **<em class="structfield"><code><a name="GnomeVFSModuleCallbackQuestionIn.choices"></a>choices</code></em>;</span></p></td>
<td>
<a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>-terminated string list of choices the user has to choose from.
The first item in the list should be affermative, and will be put on the right
in a GUI dialog.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackQuestionOut"></a><h3>GnomeVFSModuleCallbackQuestionOut</h3>
<pre class="programlisting">typedef struct {
	int answer;
} GnomeVFSModuleCallbackQuestionOut;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionOut" title="GnomeVFSModuleCallbackQuestionOut"><span class="type">GnomeVFSModuleCallbackQuestionOut</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-QUESTION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_QUESTION"><span class="type">GNOME_VFS_MODULE_CALLBACK_QUESTION</span></a> application callback, and
is used by applications to store the user's decision.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackQuestionOut.answer"></a>answer</code></em>;</span></p></td>
<td>The index of the answer the user picked. Matches the base
pointer address of the user's choice in <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackQuestionIn" title="GnomeVFSModuleCallbackQuestionIn"><span class="type">GnomeVFSModuleCallbackQuestionIn</span></a>,
i.e. its index in choices, where the first choice has index <code class="literal">0</code>.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE "status-message"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
inform the user about an ongoing operation.
</p>
<p>
Called when a <span class="type">GnomeVFSModule</span> has a status message to return to the user.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageIn" title="GnomeVFSModuleCallbackStatusMessageIn"><span class="type">GnomeVFSModuleCallbackStatusMessageIn</span></a> * containing the message to present to the user.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageOut" title="GnomeVFSModuleCallbackStatusMessageOut"><span class="type">GnomeVFSModuleCallbackStatusMessageOut</span></a> * (not used).
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackStatusMessageIn"></a><h3>GnomeVFSModuleCallbackStatusMessageIn</h3>
<pre class="programlisting">typedef struct {
	char *uri;
	char *message;
	int percentage;
} GnomeVFSModuleCallbackStatusMessageIn;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageIn" title="GnomeVFSModuleCallbackStatusMessageIn"><span class="type">GnomeVFSModuleCallbackStatusMessageIn</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS" title="GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE"><span class="type">GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</span></a> application callback,
to inform it about the progress and/or status of an ongoing operation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackStatusMessageIn.uri"></a>uri</code></em>;</span></p></td>
<td>The textual URI the status message refers to.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackStatusMessageIn.message"></a>message</code></em>;</span></p></td>
<td>The message the application should display to the user,
indicating the current state, or it is <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackStatusMessageIn.percentage"></a>percentage</code></em>;</span></p></td>
<td>The percentage indicating the completeness of
a currently pending operation on <em class="parameter"><code>uri</code></em> (1-100), or -1 if there
is no progress percentage to report.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackStatusMessageOut"></a><h3>GnomeVFSModuleCallbackStatusMessageOut</h3>
<pre class="programlisting">typedef struct {
	/* empty structs not allowed */
	int dummy;
} GnomeVFSModuleCallbackStatusMessageOut;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackStatusMessageOut" title="GnomeVFSModuleCallbackStatusMessageOut"><span class="type">GnomeVFSModuleCallbackStatusMessageOut</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-STATUS-MESSAGE:CAPS" title="GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE"><span class="type">GNOME_VFS_MODULE_CALLBACK_STATUS_MESSAGE</span></a> application callback,
and is reserved for future use. Applications are not expected
to modify this data, because its interpretation might change
in the future.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackStatusMessageOut.dummy"></a>dummy</code></em>;</span></p></td>
<td>unused.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS "http:send-additional-headers"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
request additional HTTP headers.
</p>
<p>
Called before sending headers to an HTTP server. Client applications can add
additional headers.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersIn" title="GnomeVFSModuleCallbackAdditionalHeadersIn"><span class="type">GnomeVFSModuleCallbackAdditionalHeadersIn</span></a> * identifying the resource.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersOut" title="GnomeVFSModuleCallbackAdditionalHeadersOut"><span class="type">GnomeVFSModuleCallbackAdditionalHeadersOut</span></a> * allowing to add headers
to the request.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackAdditionalHeadersIn"></a><h3>GnomeVFSModuleCallbackAdditionalHeadersIn</h3>
<pre class="programlisting">typedef struct {
	GnomeVFSURI *uri;
} GnomeVFSModuleCallbackAdditionalHeadersIn;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersIn" title="GnomeVFSModuleCallbackAdditionalHeadersIn"><span class="type">GnomeVFSModuleCallbackAdditionalHeadersIn</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS"><span class="type">GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</span></a> application
callback, to inform it about a pending HTTP request and allow it to
add additional headers.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAdditionalHeadersIn.uri"></a>uri</code></em>;</span></p></td>
<td>A <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> identifying the resource of the currently pending request.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackAdditionalHeadersOut"></a><h3>GnomeVFSModuleCallbackAdditionalHeadersOut</h3>
<pre class="programlisting">typedef struct {
	GList *headers;
} GnomeVFSModuleCallbackAdditionalHeadersOut;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAdditionalHeadersOut" title="GnomeVFSModuleCallbackAdditionalHeadersOut"><span class="type">GnomeVFSModuleCallbackAdditionalHeadersOut</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-SEND-ADDITIONAL-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS"><span class="type">GNOME_VFS_MODULE_CALLBACK_HTTP_SEND_ADDITIONAL_HEADERS</span></a> application
callback, to store the headers the application wants to add to
a pending HTTP request.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="type">GList</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAdditionalHeadersOut.headers"></a>headers</code></em>;</span></p></td>
<td>A <span class="type">GList</span> of strings, each of them is an additional header that
is added to the HTTP request. <em class="parameter"><code>headers</code></em> and all its strings will be freed
by the module when they aren't needed any longer.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS "http:received-headers"
</pre>
<p>
A module callback name used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a> to
inform an application about the delivery of a HTTP request.
</p>
<p>
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS"><span class="type">GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</span></a> is called after
receiving HTTP headers from a server that belonged to a HTTP
request that was issued by the application and allows the
application to analyze the returned headers.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersIn" title="GnomeVFSModuleCallbackReceivedHeadersIn"><span class="type">GnomeVFSModuleCallbackReceivedHeadersIn</span></a> *.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersOut" title="GnomeVFSModuleCallbackReceivedHeadersOut"><span class="type">GnomeVFSModuleCallbackReceivedHeadersOut</span></a> * (not used).
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackReceivedHeadersIn"></a><h3>GnomeVFSModuleCallbackReceivedHeadersIn</h3>
<pre class="programlisting">typedef struct {
	GnomeVFSURI *uri;
	GList *headers;
} GnomeVFSModuleCallbackReceivedHeadersIn;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersIn" title="GnomeVFSModuleCallbackReceivedHeadersIn"><span class="type">GnomeVFSModuleCallbackReceivedHeadersIn</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS"><span class="type">GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</span></a> application
callback, to inform it about a delivered HTTP request and allow
it to analyze the returned headers.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackReceivedHeadersIn.uri"></a>uri</code></em>;</span></p></td>
<td>A <a class="link" href="gnome-vfs-2.0-gnome-vfs-uri.html#GnomeVFSURI" title="GnomeVFSURI"><span class="type">GnomeVFSURI</span></a> identifying the resource of the currently delivered request.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">GList</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackReceivedHeadersIn.headers"></a>headers</code></em>;</span></p></td>
<td>A <span class="type">GList</span> of strings, each of them is a header that was received when
delivering the HTTP request. <em class="parameter"><code>headers</code></em> and all its strings will be freed
by the module when they aren't needed any longer.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackReceivedHeadersOut"></a><h3>GnomeVFSModuleCallbackReceivedHeadersOut</h3>
<pre class="programlisting">typedef struct {
	int dummy;
} GnomeVFSModuleCallbackReceivedHeadersOut;
</pre>
<p>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackReceivedHeadersOut" title="GnomeVFSModuleCallbackReceivedHeadersOut"><span class="type">GnomeVFSModuleCallbackReceivedHeadersOut</span></a> pointer is passed to a
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-HTTP-RECEIVED-HEADERS:CAPS" title="GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS"><span class="type">GNOME_VFS_MODULE_CALLBACK_HTTP_RECEIVED_HEADERS</span></a> application
callback, and is reserved for future use. Applications are not
expected to modify this data, because its interpretation might
change in the future.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="type">int</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackReceivedHeadersOut.dummy"></a>dummy</code></em>;</span></p></td>
<td>unused.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION "simple-authentication"
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</code> is deprecated and should not be used in newly-written code. Modules should use <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>
	       and <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>.</p>
</div>
<p>
A module callback name formerly used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a>.
</p>
<p>
Formerly called when access to a URI requires a username/password.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationIn" title="GnomeVFSModuleCallbackAuthenticationIn"><span class="type">GnomeVFSModuleCallbackAuthenticationIn</span></a> *.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationOut" title="GnomeVFSModuleCallbackAuthenticationOut"><span class="type">GnomeVFSModuleCallbackAuthenticationOut</span></a> *.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GNOME-VFS-MODULE-CALLBACK-HTTP-PROXY-AUTHENTICATION:CAPS"></a><h3>GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</h3>
<pre class="programlisting">#define GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION "http:proxy-authentication"
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">GNOME_VFS_MODULE_CALLBACK_HTTP_PROXY_AUTHENTICATION</code> is deprecated and should not be used in newly-written code. Proxy authentication now works desktop-wide through GConf.</p>
</div>
<p>
A module callback name formerly used together with <a class="link" href="gnome-vfs-2.0-gnome-vfs-module-callback-module-api.html#gnome-vfs-module-callback-invoke" title="gnome_vfs_module_callback_invoke ()"><code class="function">gnome_vfs_module_callback_invoke()</code></a>
to ask the user for HTTP proxy login data. It works exactly like
<a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>, and used to be kept separate to
allow applications to distinguish proxy authentication from actual server
authentication, so that the wording of the interface could be adapted.
</p>
<p>
Formerly called when access to an HTTP proxy required a username/password.
</p>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationIn" title="GnomeVFSModuleCallbackAuthenticationIn"><span class="type">GnomeVFSModuleCallbackAuthenticationIn</span></a> *.
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out arg</code></em> :</span></p></td>
<td>
A <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationOut" title="GnomeVFSModuleCallbackAuthenticationOut"><span class="type">GnomeVFSModuleCallbackAuthenticationOut</span></a> *.
</td>
</tr>
</tbody>
</table></div>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackAuthenticationAuthType"></a><h3>enum GnomeVFSModuleCallbackAuthenticationAuthType</h3>
<pre class="programlisting">typedef enum {
	AuthTypeBasic,
	AuthTypeDigest
} GnomeVFSModuleCallbackAuthenticationAuthType;
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">GnomeVFSModuleCallbackAuthenticationAuthType</code> is deprecated and should not be used in newly-written code. Modules should use <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>
	       and <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>.</p>
</div>
<p>
This defines the possible values of the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationIn" title="GnomeVFSModuleCallbackAuthenticationIn"><span class="type">GnomeVFSModuleCallbackAuthenticationIn</span></a>'s
<code class="literal">auth_type</code> field.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="AuthTypeBasic"></a><span class="term"><code class="literal">AuthTypeBasic</code></span></p></td>
<td>transmit password unencrypted.
</td>
</tr>
<tr>
<td><p><a name="AuthTypeDigest"></a><span class="term"><code class="literal">AuthTypeDigest</code></span></p></td>
<td>transmit digest instead of plaintext credentials.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackAuthenticationIn"></a><h3>GnomeVFSModuleCallbackAuthenticationIn</h3>
<pre class="programlisting">typedef struct {
	char *uri;
	char *realm;
	gboolean previous_attempt_failed;
	GnomeVFSModuleCallbackAuthenticationAuthType auth_type;
} GnomeVFSModuleCallbackAuthenticationIn;
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">GnomeVFSModuleCallbackAuthenticationIn</code> is deprecated and should not be used in newly-written code. Modules should use <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>
	       and <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>.</p>
</div>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationIn" title="GnomeVFSModuleCallbackAuthenticationIn"><span class="type">GnomeVFSModuleCallbackAuthenticationIn</span></a> structure that used to be
passed to the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</span></a> callback, and informed
the application about the authentication parameters that should be requested.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationIn.uri"></a>uri</code></em>;</span></p></td>
<td>The textual URI of the resource that requires authentication.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationIn.realm"></a>realm</code></em>;</span></p></td>
<td>"auth" for HTTP, <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a> for others.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gboolean</span> <em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationIn.previous-attempt-failed"></a>previous_attempt_failed</code></em>;</span></p></td>
<td>
<code class="literal">TRUE</code> if there already was login data
specified for this request, but the login failed. <code class="literal">FALSE</code> if no
previous login attempt has been made right before this one.
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationAuthType" title="enum GnomeVFSModuleCallbackAuthenticationAuthType"><span class="type">GnomeVFSModuleCallbackAuthenticationAuthType</span></a> <em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationIn.auth-type"></a>auth_type</code></em>;</span></p></td>
<td>Whether the login data will be transmitted in plaintext or encrypted.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GnomeVFSModuleCallbackAuthenticationOut"></a><h3>GnomeVFSModuleCallbackAuthenticationOut</h3>
<pre class="programlisting">typedef struct {
	char *username;
	char *password;
} GnomeVFSModuleCallbackAuthenticationOut;
</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">GnomeVFSModuleCallbackAuthenticationOut</code> is deprecated and should not be used in newly-written code. Modules should use <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FILL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FILL_AUTHENTICATION</span></a>
	       and <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-FULL-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_FULL_AUTHENTICATION</span></a>.</p>
</div>
<p>
A pointer to a <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackAuthenticationOut" title="GnomeVFSModuleCallbackAuthenticationOut"><span class="type">GnomeVFSModuleCallbackAuthenticationOut</span></a> structure that used to be
passed to the <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GNOME-VFS-MODULE-CALLBACK-AUTHENTICATION:CAPS" title="GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION"><span class="type">GNOME_VFS_MODULE_CALLBACK_AUTHENTICATION</span></a> callback, and was
used to pass the login data back to the module.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationOut.username"></a>username</code></em>;</span></p></td>
<td>The username that should be used to access the resource
referenced by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>, or <a href="/gnome/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL--CAPS"><code class="literal">NULL</code></a>
if no data was provided. This will be freed by the module when it
isn't needed any longer.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">char</span> *<em class="structfield"><code><a name="GnomeVFSModuleCallbackAuthenticationOut.password"></a>password</code></em>;</span></p></td>
<td>The password that should be used to access the resource
referenced by <a class="link" href="gnome-vfs-2.0-gnome-vfs-standard-callbacks.html#GnomeVFSModuleCallbackFullAuthenticationIn" title="GnomeVFSModuleCallbackFullAuthenticationIn"><span class="type">GnomeVFSModuleCallbackFullAuthenticationIn</span></a>. This will
be freed by the module when it isn't needed any longer.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15.1</div>
</body>
</html>